This invention relates to computer terminals, and more specifically, to an improved configurable computer terminal which can emulate a variety of. different terminals and implement a variety of different communications protocols, depending upon which of a plurality of remote computers with which it is communicating.
Large main frame computers have been in use for many years. With the onset of personal computers however, many applications have moved towards being implemented as distributed systems. Specifically, many applications are now implemented by employing a plurality of personal computers on a network, each of which implements one or more functions required to implement an entire application or system.
Notwithstanding the widespread use of personal computers, the applications operating on large mainframe computers continue to be used. Moreover, given the large transaction cost to convert systems running on large mainframes to PC based systems, it is unlikely that the large mainframe systems will be obsolete any time soon. Additionally, there are certain applications which may be implemented better on a large mainframe computer, such as an IBM S/390 or AS400. Accordingly, many systems remain in use which utilize these large mainframes.
The large mainframes were initially designed to communicate with xe2x80x9cdumbxe2x80x9d terminals. However, recently it has become popular to utilize a personal computer instead of a dumb terminal, and to have the personal computer emulate the dumb terminal. Thus, the remote host believes it is communicating with a dumb terminal but it is actually communicating with a personal computer which presents the communications interface of a dumb terminal. Such a system allows the personal computer to interpret and reformat some of the information being transferred between the host computer and the terminal emulator so that a more user friendly interface is presented by the terminal emulator.
Most applications running on the host download to the terminal emulator a xe2x80x9cgreen screenxe2x80x9d, a textual screen which is known to those in the computer industry and which is usually very user unfriendly. U.S. Pat. No. 5,530,961 (xe2x80x9cthe ""961 patentxe2x80x9d), assigned to the same assignee as the present invention, describes a technique for identifying these green screens and presenting them in a graphical user interface (GUI) format. As taught by the ""961 patent, the green screens are identified using one of a plurality of specific algorithms, and then the presentation of that screen is determined by a table look up.
U.S. patent application Ser. No. 08/722,583 (xe2x80x9cthe ""583 applicationxe2x80x9d) also describes a plurality of screen recognition algorithms. Any of the algorithms and techniques set forth in the ""583 application or the ""961 patent may be utilized to change a xe2x80x9cgreen screenxe2x80x9d to a more user friendly interface at a personal computer. Both the ""961 patent and the ""583 application are incorporated herein by reference.
While the ""961 patent and the ""583 application describe a technique which is a great improvement over the prior art, there is a potential storage and overhead problem presented by such arrangements. Specifically, there could be hundreds if not thousands of possible different screens being downloaded from the host to the terminal. This results in an extremely large table having to be stored in each terminal. Moreover, most host computers communicate with many terminals and many terminals communicate with multiple hosts. Accordingly, each terminal emulator must be able to maintain sufficient information to implement the communications software for a variety of different hosts, and to be able to identify and graphically present all of the screens which may be downloaded from each of the hosts.
A technical advance is achieved in accordance with the present invention which relates to a method and apparatus for providing a terminal emulator with the ability to emulate a variety of different terminals and to identify a plurality of different screens. The invention is particularly applicable to thin clients, such as Network Computers (NCs), which are used in Internet applications.
When the thin client desires to emulate the terminal and connect to a particular host, communications over a network are first established with a remote server, which downloads to the NC the appropriate communications software for communicating with a particular host. The communications software is then used to establish communications between the NC and the selected host.
Thereafter, as host screens are downloaded to the terminal emulator, the terminal emulator performs the screen recognition algorithm, and sends the results to the server. The server then returns to the terminal emulator the appropriate parameters for displaying the screen in GUI format.
In accordance with the foregoing, the terminal emulators may all be NC terminals since all of the tables and communications software are stored at a specified one or more servers. Moreover, it is not necessary to store all of the information required for the GUI screens at all of the terminals, as each can contact the server via, for example, the Internet.